A register file is typically an array of processor registers. A register file can be used by various types of processors, e.g., a processor acting as a central processing unit (CPU), or one or more processors of a graphics processing unit (GPU). A register file can be used to stage data between memory and functional units of the processor. In some examples, register files are implemented using static random-access memory (SRAM) with capacity that can be flexibly allocated between one or more executing threads. Because of that capacity, register file access energy can drive a significant fraction of a system energy usage during instruction execution. Reducing the amount of energy used for register file access can reduce the overall energy used by a system.